require('es6-promise').polyfill();

import axios from 'axios'

export const LOAD_USERS = 'LOAD_USERS';

export function createUser(text) {
  return {
    type: 'CREATE_USER',
    text,
    date: Date.now()
  }
}
export function editUser(id, text) {
  return {
    type: 'EDIT_USER',
    id,
    text,
    date: Date.now()
  };
}
export function deleteUser(id) {
  return {
    type: 'DELETE_USER',
    id
  };
}

function loadUsers(data) {
  return {
    type: 'LOAD_USERS',
    data
  }
}


export function loadUsersAsync() {
  return function(dispatch) {
    return axios.get('/api/users').then(
      resp => dispatch(loadUsers(resp.data)),
      error => dispatch(loadUsers([]))
    );
  };
}

//
// export function loadUsers() {
//   return function(getState, dispatch) {
//     request.get('/api/users')
//       .end(function(err, res) {
//         if (!err) {
//           dispatch({ type: LOADED_USERS, data: res.body.data });
//         }
//       })
//   }
// }
